package interfacesSIAB;

import java.awt.BorderLayout;
import javax.swing.JPanel;
import javax.swing.JFrame;
import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.Color;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.BorderFactory;
import javax.swing.border.TitledBorder;

import administrador.gestion_de_empleados;
import administrador.gestion_de_productos;

import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;

public class BuscarProducto extends JFrame {

	private static final long serialVersionUID = 1L;
	private JPanel jContentPane = null;
	private JPanel jPanel1 = null;
	private JButton buscar1 = null;
	private JLabel jLabel = null;
	private JTextField codigoBuscar = null;
	private JPanel jPanel2 = null;
	private JLabel Nombre = null;
	private JLabel jLabel1 = null;
	private JTextField NombreProducto = null;
	private JTextField Codigoproducto = null;
	private JLabel jLabel11 = null;
	private JLabel TipoProducto = null;
	private JTextField descripcionProducto = null;
	private JTextField tipoProducto = null;
	private JButton Guardar = null;
	private JButton Cancelar = null;
	private JButton Editar = null;
	private JTextField precio = null;
	private JLabel jLabel2 = null;
	/**
	 * This is the default constructor
	 */
	public BuscarProducto() {
		super();
		initialize();
	}

	/**
	 * This method initializes this
	 * 
	 * @return void
	 */
	private void initialize() {
		this.setSize(498, 437);
		this.setResizable(false);
		this.setContentPane(getJContentPane());
		this.setTitle("Buscar Producto");
	}

	/**
	 * This method initializes jContentPane
	 * 
	 * @return javax.swing.JPanel
	 */
	private JPanel getJContentPane() {
		if (jContentPane == null) {
			jContentPane = new JPanel();
			jContentPane.setLayout(null);
			jContentPane.add(getJPanel1(), null);
			jContentPane.add(getJPanel2(), null);
			jContentPane.add(getGuardar(), null);
			jContentPane.add(getCancelar(), null);
			jContentPane.add(getEditar(), null);
		}
		return jContentPane;
	}

	/**
	 * This method initializes jPanel1	
	 * 	
	 * @return javax.swing.JPanel	
	 */
	private JPanel getJPanel1() {
		if (jPanel1 == null) {
			jLabel = new JLabel();
			jLabel.setBounds(new Rectangle(9, 18, 53, 16));
			jLabel.setText("Codigo");
			jPanel1 = new JPanel();
			jPanel1.setLayout(null);
			jPanel1.setBounds(new Rectangle(7, 23, 334, 61));
			jPanel1.setBackground(new Color(244, 206, 9));
			jPanel1.setBorder(BorderFactory.createLineBorder(Color.orange, 1));
			jPanel1.add(getBuscar1(), null);
			jPanel1.add(jLabel, null);
			jPanel1.add(getCodigoBuscar(), null);
		}
		return jPanel1;
	}

	/**
	 * This method initializes buscar1	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBuscar1() {
		if (buscar1 == null) {
			buscar1 = new JButton();
			buscar1.setBounds(new Rectangle(230, 15, 82, 24));
			buscar1.setText("Buscar");
			buscar1.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
				
				
	              try {
						
						
						if(getCodigoBuscar().getText().trim().length() > 0 )
						{
					
					
					gestion_de_productos buscar= new gestion_de_productos();
					
					ArrayList resultado = buscar.buscarProducto(Integer.parseInt(getCodigoBuscar().getText()));
					if(resultado.size()!=0){
						getNombreProducto().setText((String) resultado.get(0));
						getDescripcionProducto().setText((String) resultado.get(1));
						getPrecio().setText( String.valueOf(resultado.get(2)));
						getCodigoproducto().setText(String.valueOf(resultado.get(3)));
						getTipoProducto().setText(String.valueOf (resultado.get(4)));
						
						
						
						 setEstadoEdicion2(false);					
						 
						 getNombreProducto().setRequestFocusEnabled(false);
						 getDescripcionProducto().setRequestFocusEnabled(false);
						 getPrecio().setRequestFocusEnabled(false);
						 getCodigoproducto().setRequestFocusEnabled(false);
						 getTipoProducto().setRequestFocusEnabled(false);
					
					}
					
		
					
					
						}else{
							
							JOptionPane.showMessageDialog(null,"Por favor Debe de Ingresar el Codigo del Producto");
						}
					}
					catch (Exception e1) {
						JOptionPane.showMessageDialog(null,"El siguiente campo de datos  "+ e1.getMessage()+"  no corresponde al tipo del campo" );
					    e1.printStackTrace();
					    
					 
					}
				
				
				
				
				
				
				
				
				
				
				
				
				
				
				}
			});
		}
		return buscar1;
	}

	/**
	 * This method initializes codigoBuscar	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getCodigoBuscar() {
		if (codigoBuscar == null) {
			codigoBuscar = new JTextField();
			codigoBuscar.setBounds(new Rectangle(102, 17, 99, 20));
		}
		return codigoBuscar;
	}

	/**
	 * This method initializes jPanel2	
	 * 	
	 * @return javax.swing.JPanel	
	 */
	private JPanel getJPanel2() {
		if (jPanel2 == null) {
			jLabel2 = new JLabel();
			jLabel2.setBounds(new Rectangle(23, 119, 79, 16));
			jLabel2.setText("Precio");
			TipoProducto = new JLabel();
			TipoProducto.setBounds(new Rectangle(14, 197, 105, 16));
			TipoProducto.setText("  Tipo de Producto");
			jLabel11 = new JLabel();
			jLabel11.setBounds(new Rectangle(18, 78, 79, 16));
			jLabel11.setText("  Descripcion");
			jLabel1 = new JLabel();
			jLabel1.setBounds(new Rectangle(22, 157, 79, 16));
			jLabel1.setText("   Codigo");
			Nombre = new JLabel();
			Nombre.setBounds(new Rectangle(21, 44, 79, 16));
			Nombre.setText("   Nombre");
			jPanel2 = new JPanel();
			jPanel2.setLayout(null);
			jPanel2.setBounds(new Rectangle(10, 103, 333, 230));
			jPanel2.setBorder(BorderFactory.createTitledBorder(BorderFactory.createMatteBorder(1, 1, 1, 1, Color.orange), "Datos del Producto", TitledBorder.DEFAULT_JUSTIFICATION, TitledBorder.DEFAULT_POSITION, new Font("Dialog", Font.BOLD, 12), new Color(51, 51, 51)));
			jPanel2.add(Nombre, null);
			jPanel2.add(jLabel1, null);
			jPanel2.add(getNombreProducto(), null);
			jPanel2.add(getCodigoproducto(), null);
			jPanel2.add(jLabel11, null);
			jPanel2.add(TipoProducto, null);
			jPanel2.add(getDescripcionProducto(), null);
			jPanel2.add(getTipoProducto(), null);
			jPanel2.add(getPrecio(), null);
			jPanel2.add(jLabel2, null);
		}
		return jPanel2;
	}

	/**
	 * This method initializes NombreProducto	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getNombreProducto() {
		if (NombreProducto == null) {
			NombreProducto = new JTextField();
			NombreProducto.setBounds(new Rectangle(141, 45, 156, 20));
			NombreProducto.setEnabled(false);
		}
		return NombreProducto;
	}

	/**
	 * This method initializes Codigoproducto	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getCodigoproducto() {
		if (Codigoproducto == null) {
			Codigoproducto = new JTextField();
			Codigoproducto.setBounds(new Rectangle(147, 152, 88, 20));
			Codigoproducto.setEnabled(false);
		}
		return Codigoproducto;
	}

	/**
	 * This method initializes descripcionProducto	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getDescripcionProducto() {
		if (descripcionProducto == null) {
			descripcionProducto = new JTextField();
			descripcionProducto.setBounds(new Rectangle(142, 78, 156, 20));
			descripcionProducto.setEnabled(false);
		}
		return descripcionProducto;
	}

	/**
	 * This method initializes tipoProducto	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getTipoProducto() {
		if (tipoProducto == null) {
			tipoProducto = new JTextField();
			tipoProducto.setBounds(new Rectangle(151, 196, 68, 16));
			tipoProducto.setEnabled(false);
		}
		return tipoProducto;
	}

	/**
	 * This method initializes Guardar	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getGuardar() {
		if (Guardar == null) {
			Guardar = new JButton();
			Guardar.setBounds(new Rectangle(379, 164, 91, 26));
			Guardar.setEnabled(false);
			Guardar.setText("Guardar");
			Guardar.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {


                 try {
				 					
						if(getNombreProducto().getText().trim().length() > 0 )
						{
							if(getPrecio().getText().trim().length() > 0)
							{
								
								if(getCodigoproducto().getText().trim().length() > 0)
								
								{
										
									if(getTipoProducto().getText().trim().length() > 0){
									
									gestion_de_productos actualizar= new gestion_de_productos();
									actualizar.actualizarInfoProductos(getNombreProducto().getText(),getDescripcionProducto().getText(),Integer.parseInt(getPrecio().getText()),Integer.parseInt(getCodigoproducto().getText()),Integer.parseInt(getTipoProducto().getText()));
								
									
									setEstadoEdicion2(false);					
									getEditar().setRequestFocusEnabled(true);
									
									 getNombreProducto().setRequestFocusEnabled(false);
									 getDescripcionProducto().setRequestFocusEnabled(false);
									 getPrecio().setRequestFocusEnabled(false);
									 getCodigoproducto().setRequestFocusEnabled(false); 
									 getTipoProducto().setRequestFocusEnabled(false);
									 
									 
									
								     }else
								         {
									
								    	 JOptionPane.showMessageDialog(null,"Por favor Debe de Ingresar el codigo del Tipo de Producto");
									
								           }
									}
								else{
									JOptionPane.showMessageDialog(null,"Por favor Debe de Ingresar el codigo del Producto");
								}
								
								
							}
							else{
								JOptionPane.showMessageDialog(null,"Por favor Debe de Ingresar el Precio del Producto");
							}
							
							
							
							
							
						}
						else{
							
							JOptionPane.showMessageDialog(null,"Por favor Debe de Ingresar el Nombre del Producto");
						}
						
						
						}
						catch (Exception e1) {
							JOptionPane.showMessageDialog(null,"El siguiente campo de datos  "+ e1.getMessage()+"  no corresponde al tipo del campo" );
						    e1.printStackTrace();
						}
				
				
				
				
				
				
				
				
				
				
				
				
				
				
				
				
				
				
				
				
				
				
				
				
				}
			});
		}
		return Guardar;
	}

	/**
	 * This method initializes Cancelar	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getCancelar() {
		if (Cancelar == null) {
			Cancelar = new JButton();
			Cancelar.setBounds(new Rectangle(381, 212, 83, 25));
			Cancelar.setText("Salir");
			
Cancelar.addActionListener(new ActionListener() {
				
				@Override
				public void actionPerformed(ActionEvent e) {
					
					dispose();
				}
			});
			
			
			
			
		}
		return Cancelar;
	}

	/**
	 * This method initializes Editar	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getEditar() {
		if (Editar == null) {
			Editar = new JButton();
			Editar.setBounds(new Rectangle(383, 115, 86, 26));
			Editar.setEnabled(false);
			Editar.setText("Editar");
			Editar.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
				
					 setEstadoEdicion(true);
						
						getCodigoBuscar().setRequestFocusEnabled(true);
					
						getNombreProducto().setRequestFocusEnabled(true);
						getDescripcionProducto().setRequestFocusEnabled(true);
					    getCodigoproducto().setRequestFocusEnabled(false);
					    getPrecio().setRequestFocusEnabled(true);
					    getTipoProducto().setRequestFocusEnabled(false);
					    
					    
					    getGuardar().setRequestFocusEnabled(false);
					   
					    
				
				
				
				
				
				
				
				}
			});
		}
		return Editar;
	}

	/**
	 * This method initializes precio	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getPrecio() {
		if (precio == null) {
			precio = new JTextField();
			precio.setBounds(new Rectangle(146, 118, 103, 20));
			precio.setEnabled(false);
		}
		return precio;
	}
	public void  setEstadoEdicion(boolean isEdicion) {
		
		getCodigoBuscar().setEnabled( ! isEdicion);
	    getNombreProducto().setEnabled( isEdicion);
		getDescripcionProducto().setEnabled(isEdicion);
		getPrecio().setEnabled( isEdicion);
		getCodigoproducto().setEnabled( ! isEdicion);
		getTipoProducto().setEnabled(! isEdicion);
	
		
		
		getGuardar().setEnabled( isEdicion);
	    getEditar().setEnabled( ! isEdicion);
	  
		
		
		
		
		
	}
	
public void  setEstadoEdicion2(boolean isEdicion) {
		
		getCodigoBuscar().setEnabled( ! isEdicion);
		getCodigoBuscar().selectAll();
	    getNombreProducto().setEnabled( !isEdicion);
	    getDescripcionProducto().setEnabled( !isEdicion);
	    getPrecio().setEnabled( !isEdicion);
		getCodigoproducto().setEnabled( ! isEdicion);
		
		
		getTipoProducto().setEnabled( !isEdicion);
	
		getGuardar().setEnabled( isEdicion);
	    getEditar().setEnabled( ! isEdicion);
	  
		
		
		
		
		
	}
	
	
	
}  //  @jve:decl-index=0:visual-constraint="10,10"
